//
//  PKMusicPlayer.h
//  MusicDemo
//
//  Created by lanou on 15/12/24.
//  Copyright © 2015年 Huang. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "FMLessonAndFMModel.h"
typedef NS_ENUM(NSInteger, PlayType) {
    ListPlay,// 列表播放
    RandomPlay,// 随机播放
    SinglePlay// 单曲循环
};

typedef void(^ChangeStatuBlock)();

@interface PKMusicPlayer : NSObject

// 给这个类一个放有音乐网址的数组, 这个类就可以播放数组里面的音乐, 当我们想跳转下一首,上一首音乐的时候, 这个类会给我们提供一个方法直接调用.


// 用于保存外界传过来的音乐的地址,方便下一首或者上一首的时候查找对应的音乐.
@property (nonatomic, strong) NSArray *musicArray;

@property (nonatomic, copy) ChangeStatuBlock block;
@property (nonatomic, assign, readonly) NSInteger currentTime;// 当前时间
@property (nonatomic, assign, readonly) NSInteger totalTime;// 总时间
@property (nonatomic, assign) PlayType playType;// 保存当前播放模式
@property (nonatomic, assign) NSInteger index;// 当前播放的音乐的下标
@property (nonatomic, assign, readonly) BOOL isPlaying;// 当前播放状态
@property (nonatomic, strong) FMLessonAndFMModel *userModel;// 保存当前播放歌曲的作者信息
@property (nonatomic, assign) BOOL isPlayMainControllerDealloc;// 播放控制器是否销毁
// 上一首
- (void)beforeMusic;

// 下一首
- (void)nextMusic;

// 播放
- (void)play;

// 暂停
- (void)pause;

// 停止
- (void)stop;

// 给一个时间进行跳转
- (void)seekToTime:(NSInteger)newTime;

// 播放完毕之后的操作
//- (void)finishPlay;

// 根据某个下标改变播放音乐
- (void)changeMusicwithIndex:(NSInteger)index;

+ (instancetype)sharedPlayer;
@end
